Encrypting Passwords in TomEE (tomee.xml)

It’s a good practice to encrypt the database passwords in tomee.xml. This is taken care of during the run time of the container.

Remove the value of “DSPASSWORD” from sl_env.dat once the container is up and running.

The Dockerfiles directory structure is as follows:

SL Dockerfiles

Under scripts folder (servicelayer/scripts)

Note: Place the OIPA build artifact which is downloaded from the Oracle Software Delivery Cloud in the externallibs/zip directory. Check the below snippet for your reference.

Under externallibs folder

From the Dockerfile location, execute the below command (a sample build.sh file is placed for reference):

docker build format:

$ docker build --network=host -t <Image_Name>:<Image_Tag> . --build-arg SL_PKG="<SL Package Name>"

docker build example:

$ docker build --network=host -t sl_tomee:12.2.0.0 . --build-arg SL_PKG="PASService-tomEE-distribution.zip"

This generates the Service Layer TomEE image.

To start the containerized Service Layer application, run

docker run format (-v refers to volumes)

$ docker run -itd --network=host --privileged -v /path/to/the/externallibs:/usr/local/tomee/externallibs --env-file /path/to/the/sl_env.dat -p <App_External_Port>:<App_Container_Port> --name <Container_Name> --hostname localhost <Image_Name>:<Image_Tag> createServer.sh $DB_TYPE

docker run example:

For ORACLE :

$ docker run -d --restart unless-stopped --network=host --privileged -v /path/to/externallibs:/usr/local/tomee/externallibs/ --env-file /home/servicelayer/sl_env.dat -p 5050:5050 --name sl_tomee --hostname localhost sl_tomee:12.2.0.0 createServer.sh ORACLE

For DB2 :

$ docker run -d --restart unless-stopped --network=host --privileged -v /path/to/externallibs:/usr/local/tomee/externallibs/ --env-file /home/servicelayer/sl_env.dat -p 5050:5050 --name sl_tomee --hostname localhost sl_tomee:12.2.0.0 createServer.sh DB2

For MSSQL:

$ docker run -d --restart unless-stopped --network=host --privileged -v /path/to/externallibs:/usr/local/tomee/externallibs/ --env-file /home/servicelayer/sl_env.dat -p 5050:5050 --name sl_tomee --hostname localhost sl_tomee:12.2.0.0 createServer.sh MSSQL

Ensure you to define the Database names as below only (Case Sensitive)

  • Oracle Database: ORACLE

  • DB2 Database: DB2

  • SQL Database: MSSQL

Check the docker logs in the PUTTY console by executing the below command:

$ docker logs -f sl_tomee

Access the application when you see the Server startup in [xxxxxx] milliseconds message in the PUTTY console.

Service Layer URL 1

Service Layer URL 2